iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
IT管理

利用 IT 工具改善產品規劃的應用技巧與經驗系列 第 20

Jira 自動化:在 Sprint 期間若有安插 Item 時發送通知

  • 分享至 

  • xImage
  •  

在有了 Sprint 開始與 Sprint 結束的儀式感後,今天要來面對另一個課題。

在 Sprint 期間,偶爾會有些意外導致 PO 不得不安插一些 Item 進來並與團隊協商,但協商時不一定所有人都在,若是在場的人沒有將資訊即時同步給不在場的人,那就會有段資訊落差。

這時候要是有一個通知,讓我們在 Sprint 期間,有新的 Item 安插到 Sprint Backlog 時,發送到 Slack 的頻道,那就足以擴散這個資訊了。

如此,就算不在場的人,看到這個訊息,也會意識到有這件事發生,並進而去問其他夥伴,促成資訊的對流。如此也能省下團隊刻意溝通的成本,讓好奇去引發資訊的傳播。

今天就來實作這樣的自動化,首先來到專案的 Automation,因為今天也會用到發送 Slack 的 Action,所以就偷吃步的複製昨天完成的 Rule。

對指定 Rule 點擊最右邊的 ...,並選擇 Copy 即可複製一份。

首先將名稱改成「Notify when add Item during sprint 」,一來將目的明確,也避免忘記改導致日後混淆。

接著點擊左方的 Trigger,並在其右側標題處點擊鉛筆的圖案,讓我們得以更換 Trigger。

這次要用到的是當 issue 有資料變動時,就會觸發的 Trigger。名稱是「Field value changed」,可以透過關鍵字篩選節省尋找時間。

接著指定是在 issue 的 sprint 欄位被編輯時,就會觸發這個 Rule。Sprint 這個欄位會記錄該 issue 經歷過的每個一個 sprint,是一個陣列。

接著回到左側的結構側邊欄,在 Trigger 與 Action 中間新增一個 Condition 元件,並選擇「Advanced compare condition」

這邊會用到一點 Smart Value 的小技巧。我們這邊設定當 {{sprint.last.isStarted}} 的個欄位的數值為 true 時,會通過這個 Condition,並往下執行下去。如果條件不符合,就終止執行。

這裡的概念是利用 sprint 欄位中最後一個 sprint 通常是最新新增的 sprint 值(也就是在我們將其拖曳到 Sprint Backlog 所新增的那個 sprint 值)這樣的特性,進而透過其屬性 isStarted,來判斷他是不是已經開始。如果是 true,即為開始了,代表這個 sprint 正在進行中,那我就應該往下執行已發送通知,如果是 false ,代表還沒開始,那可能是還在 Planning 的認領階段,不必跳通知。

這邊多一個有趣的 Action 「Comment on issue」,除了發送 Slack 通知外,我們也在該 issue 中留言作為紀錄,讓這樣變動的資訊得以集中。

留言內容為:

這個 Item 是 {{sprint.last.name}} 開始後,才被 {{initiator.displayName}} 加入的。

其中 {{sprint.last.name}} 即為剛開始這個 Sprint 的名稱。而 {{initiator.displayName}}initiator 代表觸發者,也就是將 issue 拖曳到 sprint backlog 的使用者,displayName 屬性則為該使用者在介面上顯示的名稱。

接著修改原本「Send Slack message」Action 的訊息:

<{{issue.url}}|{{issue.key}} - {{issue.summary}}>
已經被 {{initiator.displayName}} 加入正在進行中的 {{sprint.last.name}}!

這邊多了 {{issue.xxxx}} 的變數,url 代表該 issue 的網址、key 代表代號,如 IRON23-7summary 則為該 issue 的標題。

修改到這邊就可以儲存並啟用了。

接著到 Product Backlog 新增一個 issue,這邊是新增一個「Day 18」的 issue。

當我將該 issue 拖曳到正在執行中的 sprint 時會跳出警示訊息,選擇 confirm 繼續這個變動。

成功拖曳後,就可以點開該 issue 看有沒有留言成功

留言成功了!

回到 Slack 看指定的頻道,訊息也發送成功啦!

有了這樣的通知,無論是 PO 協商後新增 issue,或是團隊自主多認領下去,都能將這個資訊擴散出去,而不會凍在 IT 工具中,只有少數人才會知道。

學會這個 Rule 後,也可以思考如果要實作將 issue 移出當前 sprint 會發送通知這樣的情境該怎麼做,有沒有辦法做到唷。


上一篇
Jira 自動化:Sprint 開始與結束時發送通知
下一篇
Jira 自動化:在超過一天的待辦事項上擺上臭香蕉
系列文
利用 IT 工具改善產品規劃的應用技巧與經驗30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言